<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<script>
//Object.defineProperty()    
// var obj = {
//     a:1,
//     b:2
// }
// let vue = {}
// // get set
// for(let k in obj){
//     Object.defineProperty(vue,k,{
//         get(){
//             console.log("获取")
//             return data[k]
//         },
//         set(value){
//             console.log("设置")
//             data[k] = value
//         }
//     }) 
// }
// console.log(1,vue)
// vue.c = 3
// console.log(2,vue.c) // vue值更新了 ---》 get和set


//new proxy
var obj = {
    a:1,
    b:2
}
let vue = new Proxy(obj,{
    get(target,propkey,receiver){
        console.log("获取")
        return Reflect.get(target,propkey,receiver)
    },
    set(target,propkey,value,receiver){
        console.log("设置")
        return Reflect.set(target,propkey,value,receiver)
    }
})
console.log(1,vue)
vue.c = 3
console.log(2,vue)
</script>
</body>
</html>